home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 40
/
Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso
/
Aminet
/
comm
/
tcp
/
Amster.lha
/
Amster_Install
/
Source
/
panel.c
< prev
next >
Wrap
C/C++ Source or Header
|
2000-07-18
|
9KB
|
262 lines
/*
** Panel
*/
#include "include/config.h"
#include "include/gui.h"
#include "include/panel.h"
#include "include/download.h"
#include "include/info.h"
#include "include/share.h"
#include "include/msg.h"
#include "include/chat.h"
#include "include/about.h"
#include "include/prefs.h"
#include "pix/logo.h"
#include "pix/infoicon.h"
#include "pix/msgicon.h"
#include "pix/chaticon.h"
#include "pix/dlicon.h"
#include "pix/shareicon.h"
#include "pix/prficon.h"
#include "amster_Cat.h"
ULONG panel_new(struct IClass *cl, Object *obj, struct opSet *msg);
extern struct Hook handleHook;
MUIF panel_dispatch(REG(a0) struct IClass *cl,REG(a2) Object *obj,REG(a1) Msg msg)
{
u_long tmp;
struct paneldata *data;
switch(msg->MethodID) {
case OM_NEW:
return(panel_new(cl,obj,(APTR)msg));
case PANEL_OPENABOUT:
data = INST_DATA(cl, obj);
set(data->logo,MUIA_Selected,FALSE);
set(gui->awin,MUIA_Window_Open,TRUE);
return NULL;
case PANEL_OPENDEBUG:
data = INST_DATA(cl, obj);
GetAttr(MUIA_Selected,data->infoicon,&tmp);
if(tmp!=TRUE) set(data->infoicon,MUIA_Selected,TRUE);
set(gui->iwin,MUIA_Window_Open,TRUE);
return NULL;
case PANEL_CLOSEDEBUG:
data = INST_DATA(cl, obj);
GetAttr(MUIA_Selected,data->infoicon,&tmp);
if(tmp!=FALSE) set(data->infoicon,MUIA_Selected,FALSE);
set(gui->iwin,MUIA_Window_Open,FALSE);
return NULL;
case PANEL_OPENDL:
data = INST_DATA(cl, obj);
GetAttr(MUIA_Selected,data->dlicon,&tmp);
if(tmp!=TRUE) set(data->dlicon,MUIA_Selected,TRUE);
set(gui->dwin,MUIA_Window_Open,TRUE);
return NULL;
case PANEL_CLOSEDL:
data = INST_DATA(cl, obj);
GetAttr(MUIA_Selected,data->dlicon,&tmp);
if(tmp!=FALSE) set(data->dlicon,MUIA_Selected,FALSE);
set(gui->dwin,MUIA_Window_Open,FALSE);
return NULL;
case PANEL_OPENSHARE:
data = INST_DATA(cl, obj);
GetAttr(MUIA_Selected,data->shareicon,&tmp);
if(tmp!=TRUE) set(data->shareicon,MUIA_Selected,TRUE);
DoMethod(gui->shwin,SHARE_OPEN);
return NULL;
case PANEL_CLOSESHARE:
data = INST_DATA(cl, obj);
GetAttr(MUIA_Selected,data->shareicon,&tmp);
if(tmp!=FALSE) set(data->shareicon,MUIA_Selected,FALSE);
DoMethod(gui->shwin,SHARE_CLOSE);
return NULL;
case PANEL_OPENPRF:
data = INST_DATA(cl, obj);
GetAttr(MUIA_Selected,data->prficon,&tmp);
if(tmp!=TRUE) set(data->prficon,MUIA_Selected,TRUE);
DoMethod(gui->swin,PRF_OPEN);
return NULL;
case PANEL_CLOSEPRF:
data = INST_DATA(cl, obj);
GetAttr(MUIA_Selected,data->prficon,&tmp);
if (tmp!=FALSE) set(data->prficon,MUIA_Selected,FALSE);
DoMethod(gui->swin, (ULONG)(((muimsg)msg)->arg1));
return NULL;
case PANEL_OPENMSG:
DoMethod(gui->mwin, MSG_OPEN);
return NULL;
case PANEL_NEWCHAT:
{
Object *win;
win = NewObject(gui->chat_mcc->mcc_Class,NULL,TAG_DONE);
if (!win) return(0);
DoMethod(gui->app, OM_ADDMEMBER, win);
set(win, MUIA_Window_Open, TRUE);
return NULL;
}
case PANEL_DISPOSECHAT:
{
Object *win;
win = (Object *)(((muimsg)msg)->arg1);
if (!win) return(0);
set(win, MUIA_Window_Open, FALSE);
DoMethod(gui->app, OM_REMMEMBER, win);
MUI_DisposeObject(win);
return NULL;
}
}
return DoSuperMethodA(cl, obj, msg);
}
ULONG panel_new(struct IClass *cl, Object *obj, struct opSet *msg)
{
struct paneldata *data;
Object *logo,*infoicon,*msgicon,*chaticon,*dlicon,*shareicon,*prficon;
if (obj = (Object *)DoSuperNew(cl,obj,
Child, VGroup,
Child, logo = BodychunkObject,
MUIA_FixWidth, LOGO_WIDTH,
MUIA_FixHeight, LOGO_HEIGHT,
MUIA_Bitmap_Width, LOGO_WIDTH,
MUIA_Bitmap_Height, LOGO_HEIGHT,
MUIA_Bodychunk_Depth, LOGO_DEPTH,
MUIA_Bodychunk_Body, (ULONG *)logo_body,
MUIA_Bodychunk_Compression, LOGO_COMPRESSION,
MUIA_Bodychunk_Masking, LOGO_MASKING,
MUIA_Bitmap_SourceColors, (ULONG *)logo_colors,
MUIA_Bitmap_Transparent, 0,
MUIA_InputMode, MUIV_InputMode_Immediate,
MUIA_ShowSelState, FALSE,
End,
Child, VSpace(0),
Child, infoicon = BodychunkObject,
ImageButtonFrame,
MUIA_Background, MUII_ButtonBack,
MUIA_FixWidth, INFOICON_WIDTH,
MUIA_FixHeight, INFOICON_HEIGHT,
MUIA_Bitmap_Width, INFOICON_WIDTH,
MUIA_Bitmap_Height, INFOICON_HEIGHT,
MUIA_Bodychunk_Depth, INFOICON_DEPTH,
MUIA_Bodychunk_Body, (ULONG *)infoicon_body,
MUIA_Bodychunk_Compression, INFOICON_COMPRESSION,
MUIA_Bodychunk_Masking, INFOICON_MASKING,
MUIA_Bitmap_SourceColors, (ULONG *)infoicon_colors,
MUIA_Bitmap_Transparent, 0,
MUIA_InputMode, MUIV_InputMode_Toggle,
End,
Child, VSpace(0),
Child, msgicon = BodychunkObject,
ImageButtonFrame,
MUIA_Background, MUII_ButtonBack,
MUIA_FixWidth, MSGICON_WIDTH,
MUIA_FixHeight, MSGICON_HEIGHT,
MUIA_Bitmap_Width, MSGICON_WIDTH,
MUIA_Bitmap_Height, MSGICON_HEIGHT,
MUIA_Bodychunk_Depth, MSGICON_DEPTH,
MUIA_Bodychunk_Body, (ULONG *)msgicon_body,
MUIA_Bodychunk_Compression, MSGICON_COMPRESSION,
MUIA_Bodychunk_Masking, MSGICON_MASKING,
MUIA_Bitmap_SourceColors, (ULONG *)msgicon_colors,
MUIA_Bitmap_Transparent, 0,
MUIA_InputMode, MUIV_InputMode_RelVerify,
End,
Child, chaticon = BodychunkObject,
ImageButtonFrame,
MUIA_Background, MUII_ButtonBack,
MUIA_FixWidth, CHATICON_WIDTH,
MUIA_FixHeight, CHATICON_HEIGHT,
MUIA_Bitmap_Width, CHATICON_WIDTH,
MUIA_Bitmap_Height, CHATICON_HEIGHT,
MUIA_Bodychunk_Depth, CHATICON_DEPTH,
MUIA_Bodychunk_Body, (ULONG *)chaticon_body,
MUIA_Bodychunk_Compression, CHATICON_COMPRESSION,
MUIA_Bodychunk_Masking, CHATICON_MASKING,
MUIA_Bitmap_SourceColors, (ULONG *)chaticon_colors,
MUIA_Bitmap_Transparent, 0,
MUIA_InputMode, MUIV_InputMode_RelVerify,
End,
Child, VSpace(0),
Child, dlicon = BodychunkObject,
ImageButtonFrame,
MUIA_Background, MUII_ButtonBack,
MUIA_FixWidth, DLICON_WIDTH,
MUIA_FixHeight, DLICON_HEIGHT,
MUIA_Bitmap_Width, DLICON_WIDTH,
MUIA_Bitmap_Height, DLICON_HEIGHT,
MUIA_Bodychunk_Depth, DLICON_DEPTH,
MUIA_Bodychunk_Body, (ULONG *)dlicon_body,
MUIA_Bodychunk_Compression, DLICON_COMPRESSION,
MUIA_Bodychunk_Masking, DLICON_MASKING,
MUIA_Bitmap_SourceColors, (ULONG *)dlicon_colors,
MUIA_Bitmap_Transparent, 0,
MUIA_InputMode, MUIV_InputMode_Toggle,
End,
Child, shareicon = BodychunkObject,
ImageButtonFrame,
MUIA_Background, MUII_ButtonBack,
MUIA_FixWidth, SHAREICON_WIDTH,
MUIA_FixHeight, SHAREICON_HEIGHT,
MUIA_Bitmap_Width, SHAREICON_WIDTH,
MUIA_Bitmap_Height, SHAREICON_HEIGHT,
MUIA_Bodychunk_Depth, SHAREICON_DEPTH,
MUIA_Bodychunk_Body, (ULONG *)shareicon_body,
MUIA_Bodychunk_Compression, SHAREICON_COMPRESSION,
MUIA_Bodychunk_Masking, SHAREICON_MASKING,
MUIA_Bitmap_SourceColors, (ULONG *)shareicon_colors,
MUIA_Bitmap_Transparent, 0,
MUIA_InputMode, MUIV_InputMode_Toggle,
End,
Child, VSpace(0),
Child, prficon = BodychunkObject,
ImageButtonFrame,
MUIA_Background, MUII_ButtonBack,
MUIA_FixWidth, PRFICON_WIDTH,
MUIA_FixHeight, PRFICON_HEIGHT,
MUIA_Bitmap_Width, PRFICON_WIDTH,
MUIA_Bitmap_Height, PRFICON_HEIGHT,
MUIA_Bodychunk_Depth, PRFICON_DEPTH,
MUIA_Bodychunk_Body, (ULONG *)prficon_body,
MUIA_Bodychunk_Compression, PRFICON_COMPRESSION,
MUIA_Bodychunk_Masking, PRFICON_MASKING,
MUIA_Bitmap_SourceColors, (ULONG *)prficon_colors,
MUIA_Bitmap_Transparent, 0,
MUIA_InputMode, MUIV_InputMode_Toggle,
End,
Child, VSpace(0),
End,
TAG_MORE, msg->ops_AttrList))
{
data = INST_DATA(cl,obj);
data->logo = logo;
data->infoicon = infoicon;
data->dlicon = dlicon;
data->shareicon = shareicon;
data->prficon = prficon;
DoMethod(logo,MUIM_Notify,MUIA_Selected,TRUE,obj,1,PANEL_OPENABOUT);
DoMethod(infoicon,MUIM_Notify,MUIA_Selected,TRUE,obj,1,PANEL_OPENDEBUG);
DoMethod(infoicon,MUIM_Notify,MUIA_Selected,FALSE,obj,1,PANEL_CLOSEDEBUG);
DoMethod(dlicon,MUIM_Notify,MUIA_Selected,TRUE,obj,1,PANEL_OPENDL);
DoMethod(dlicon,MUIM_Notify,MUIA_Selected,FALSE,obj,1,PANEL_CLOSEDL);
DoMethod(shareicon,MUIM_Notify,MUIA_Selected,TRUE,obj,1,PANEL_OPENSHARE);
DoMethod(shareicon,MUIM_Notify,MUIA_Selected,FALSE,obj,1,PANEL_CLOSESHARE);
DoMethod(prficon,MUIM_Notify,MUIA_Selected,TRUE,obj,1,PANEL_OPENPRF);
DoMethod(prficon,MUIM_Notify,MUIA_Selected,FALSE,obj,2,PANEL_CLOSEPRF,PRF_CANCEL);
DoMethod(msgicon,MUIM_Notify,MUIA_Pressed,FALSE,obj,1,PANEL_OPENMSG);
DoMethod(chaticon,MUIM_Notify,MUIA_Pressed,FALSE,obj,1,PANEL_NEWCHAT);
return((ULONG)obj);
}
return(0);
}